package cn.enited.devtools.apiaggregator.service;

import cn.enited.devtools.apiaggregator.dto.ApiAggObjectDto;
import cn.enited.devtools.apiaggregator.entity.ApiAggObject;
import cn.enited.devtools.apiaggregator.repo.ApiConfRepository;
import cn.enited.devtools.apiaggregator.vo.ApiAggObjectParamVo;
import org.springframework.data.domain.Page;

import java.util.List;
import java.util.Set;

public interface ApiConfService extends BaseService<ApiConfRepository, ApiAggObject> {

    ApiAggObjectDto get(Long bizId);

    ApiAggObjectDto getByName(String projectName, String apiName);

    ApiAggObject getEntityByName(String projectName, String apiName);

    List<ApiAggObjectDto> findAll(ApiAggObjectParamVo param);

    Page<ApiAggObjectDto> findPage(ApiAggObjectParamVo param);

    Set<String> findAllCompletableApiNames();

    Long add(ApiAggObjectDto conf);

    void update(ApiAggObjectDto conf);

    void delete(Long bizId);
}
